#define KERNEL_MEMORY_POOL_START		0x500000
#define KERNEL_MEMORY_POOL_SIZE			0x100000

#define KERNEL_ALLOCATION_TABLE_START	0x600000
#define KERNEL_ALLOCATION_TABLE_SIZE	0x010000	// Doit etre un multiple de 8
													// C'est aussi la taille du buffer de copie.
													
#define KERNEL_ALLOCATION_BUFFER_START	(KERNEL_ALLOCATION_TABLE_START + KERNEL_ALLOCATION_TABLE_SIZE)

#define FREE_ENTRY						0x40
#define ALLOCATED_ENTRY					0xFF
#define HEADER_ENTRY					0xC0
#define NULL_ENTRY						0x00


typedef struct
{
	unsigned char type;
	unsigned char unused0;
	unsigned char unused1;
	unsigned char unused2;
	unsigned int size;
} allocation_table_entry;


char*	memcpy (char*, const char*, unsigned int);
int 	init_dedicated_memory();
void* 	malloc(unsigned int);
void 	free(void*);